-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mono AOT Compiler packs are missing data/UnixFilePermissions.xml
?
#82201
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
/cc @steveisok |
@directhex, not sure how this regressed. Please look into it. |
Nuget should have the correct permissions now, that was my understanding. |
hm looks like that depends on this file though? |
Where does Nuget get the correct permissions from? The underlying .zip format doesn't support permissions without non-standard extended attributes which afaik aren't supported in dotnet's zip implementation |
(making every extracted file executable is one approach which doesn't rely on attributes or a metadata xml) |
IIRC, dotnet's zip implementation had fixes for that, and thus this wasn't required any more. but maybe I misunderstood some part of it. |
It looks like #70735 went in which guarantees permissions on files are read-write and directories are read-write-execute. I don't see anything in that change about adding execute permissions to files. |
this - #55531 |
To be clear, I'm fine with reverting the change. I'm just trying to understand what is exactly going on here. |
I don't think permissions are being captured during Nuget package generation. I'm running some local tests on zip file generation/unpacking with command-line non-dotnet tools, and have execute perms preserved across |
I can chase the Nuget side of things, but as-is, it looks like Preview 1 just doesn't have working cross-compilers on non-Windows. Which sucks a bit. Is it too late to get a revert in? |
@steveisok could comment on whether we can get a revert in or not. I wonder why it hasn't broken wasm workloads though |
OK, there's a
note the lack of x on the files in tools/ |
No, it's too late unfortunately. |
lets revert the change asap and add known-issues to the release notes |
Reverts dotnet@b6e2dbe essentially. Fixes dotnet#82201 .
@davidortinau @jonathanpeppers How was this workload installed? |
The gist above has instructions, but it was a regular dotnet workload install command. |
$ find /usr/local/share/dotnet -name mono-aot-cross -ls
25088028 25808 -rwxr-xr-x 1 root wheel 13213312 Sep 26 14:04 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm/6.0.10/tools/mono-aot-cross
25085902 32056 -rwxr--r-- 1 root wheel 16409472 Feb 10 16:37 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25088123 26080 -rwxr-xr-x 1 root wheel 13350752 Sep 26 13:54 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64/6.0.10/tools/mono-aot-cross
25086007 32360 -rwxr--r-- 1 root wheel 16564568 Feb 10 16:26 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25088086 25880 -rwxr-xr-x 1 root wheel 13248264 Sep 26 13:56 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64/6.0.10/tools/mono-aot-cross
25085966 32192 -rwxr--r-- 1 root wheel 16478896 Feb 10 16:28 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-arm64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25091042 26080 -rwxr-xr-x 1 root wheel 13352192 Sep 26 14:07 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64/6.0.10/tools/mono-aot-cross
25090309 32360 -rwxr--r-- 1 root wheel 16564536 Feb 10 16:39 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25083648 25264 -rwxr-xr-x 1 root wheel 12931608 Oct 18 12:29 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64/7.0.0/tools/mono-aot-cross
25082199 25872 -rwxr-xr-x 1 root wheel 13245840 Sep 26 13:36 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64/6.0.10/tools/mono-aot-cross
25085048 31936 -rwxr--r-- 1 root wheel 16351216 Feb 10 16:07 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25083587 25456 -rwxr-xr-x 1 root wheel 13031160 Oct 18 12:25 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64/7.0.0/tools/mono-aot-cross
25082132 26040 -rwxr-xr-x 1 root wheel 13331776 Sep 26 13:33 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64/6.0.10/tools/mono-aot-cross
25084991 32104 -rwxr--r-- 1 root wheel 16434920 Feb 10 16:03 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25088057 25872 -rwxr-xr-x 1 root wheel 13246104 Sep 26 14:02 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64/6.0.10/tools/mono-aot-cross
25085934 32184 -rwxr--r-- 1 root wheel 16476824 Feb 10 16:34 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.ios-arm64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25083553 25216 -rwxr-xr-x 1 root wheel 12908240 Oct 18 12:34 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86/7.0.0/tools/mono-aot-cross
25082100 25864 -rwxr-xr-x 1 root wheel 13241864 Sep 26 13:39 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86/6.0.10/tools/mono-aot-cross
25084959 31896 -rwxr--r-- 1 root wheel 16327576 Feb 10 16:10 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-x86/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25088154 25872 -rwxr-xr-x 1 root wheel 13244456 Sep 26 13:59 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86/6.0.10/tools/mono-aot-cross
25086059 32112 -rwxr--r-- 1 root wheel 16441040 Feb 10 16:31 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.iossimulator-x86/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25091011 25944 -rwxr-xr-x 1 root wheel 13282680 Sep 26 14:10 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64/6.0.10/tools/mono-aot-cross
25090264 32224 -rwxr--r-- 1 root wheel 16495416 Feb 10 16:42 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-arm64/8.0.0-preview.1.23110.8/tools/mono-aot-cross
25083618 25152 -rwxr-xr-x 1 root wheel 12877528 Oct 18 12:39 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm/7.0.0/tools/mono-aot-cross
25082164 25808 -rwxr-xr-x 1 root wheel 13211760 Sep 26 13:41 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm/6.0.10/tools/mono-aot-cross
25085021 31832 -rwxr--r-- 1 root wheel 16296872 Feb 10 16:13 /usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.android-arm/8.0.0-preview.1.23110.8/tools/mono-aot-cross All of the files have |
@radical try executing one of those as non-root 🙃 |
Lol root owned and u+x, duh! 😬 |
🙈 |
Description
@davidortinau was testing .NET 8 preview 1 builds and hit the error:
We found that running this fixed it:
The Android/iOS workloads define a
data/UnixFilePermission.xml
file, so thatdotnet workload
commands can supply the execute bit. Details at: dotnet/sdk#16894We think this was implemented sometime in dotnet/runtime: #54501
But I don't see the file here:
https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet8/NuGet/Microsoft.NETCore.App.Runtime.AOT.osx-x64.Cross.maccatalyst-x64/overview/8.0.0-preview.1.23106.5
Reproduction Steps
dotnet new maccatalyst
dotnet build
Expected behavior
You should not need to
chmod +x mono-aot-cross
Actual behavior
Some Mac machines you have to
chmod +x mono-aot-cross
.Regression?
Yes
Known Workarounds
Configuration
.NET SDK 8.0.100-preview.1.23109.10
Other information
No response
The text was updated successfully, but these errors were encountered: