From df9b8084fba680a8d83f78fa22c549952421ebd3 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Thu, 24 Jun 2021 12:33:59 -0400 Subject: [PATCH 1/3] Fix MonoCrossAOT.UnixFilePermissions for wasm We introduced Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml in https://github.com/dotnet/runtime/pull/54501 to make sure the right permissions are set when installing AOT compiler workload packs. We hardcoded the list to include mono-aot-cross, llc, and opt. However, in wasm's case they only have mono-aot-cross. This change makes the xml file a template and only includes mono-aot-cross for browser and all three for the other configurations. Fixes https://github.com/dotnet/runtime/issues/54612 --- ...Core.App.MonoCrossAOT.UnixFilePermissions.xml | 5 ----- ...e.App.MonoCrossAOT.UnixFilePermissions.xml.in | 3 +++ .../Microsoft.NETCore.App.MonoCrossAOT.sfxproj | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 7 deletions(-) delete mode 100644 src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml create mode 100644 src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml deleted file mode 100644 index 9437f7953f315a..00000000000000 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in new file mode 100644 index 00000000000000..90a2caed285278 --- /dev/null +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in @@ -0,0 +1,3 @@ + + ${PermissionsFiles} + diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj index 3c0e7fac2d86b2..18dabc218ef602 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj @@ -20,15 +20,27 @@ - + - + <_SdkPropsProperties Condition="!$([MSBuild]::IsOsPlatform('Windows'))" Include="ExeSuffix" Value="" /> <_SdkPropsProperties Condition="$([MSBuild]::IsOsPlatform('Windows'))" Include="ExeSuffix" Value=".exe" /> <_SdkPropsProperties Include="TargetRid" Value="$(TargetCrossRid)" /> + + <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/mono-aot-cross" Permission="755" />" /> + + + <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/opt" Permission="755" />" /> + <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/llc" Permission="755" />" /> + + Date: Thu, 24 Jun 2021 14:31:44 -0400 Subject: [PATCH 2/3] Use property instead of item for the file nodes --- ....App.MonoCrossAOT.UnixFilePermissions.xml.in | 2 +- .../Microsoft.NETCore.App.MonoCrossAOT.sfxproj | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in index 90a2caed285278..6ad7487cb04ace 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in @@ -1,3 +1,3 @@ - ${PermissionsFiles} + ${PermissionsProperties} diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj index 18dabc218ef602..92ab16dadb2674 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj @@ -29,17 +29,22 @@ <_SdkPropsProperties Condition="$([MSBuild]::IsOsPlatform('Windows'))" Include="ExeSuffix" Value=".exe" /> <_SdkPropsProperties Include="TargetRid" Value="$(TargetCrossRid)" /> + + <_PermissionsFiles><File Path="tools/mono-aot-cross" Permission="755" /> + + + <_PermissionsFiles>$(_PermissionsFiles) + <File Path="tools/opt" Permission="755" /> + <_PermissionsFiles>$(_PermissionsFiles) + <File Path="tools/llc" Permission="755" /> + - <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/mono-aot-cross" Permission="755" />" /> - - - <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/opt" Permission="755" />" /> - <_PermissionsFiles Include="PermissionsFiles" Value="<File Path="tools/llc" Permission="755" />" /> + <_PermissionsProperties Include="PermissionsProperties" Value="$(_PermissionsFiles)" /> Date: Thu, 24 Jun 2021 15:06:14 -0400 Subject: [PATCH 3/3] Ankit suggestion --- .../Microsoft.NETCore.App.MonoCrossAOT.sfxproj | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj index 92ab16dadb2674..a951a58b643d16 100644 --- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj +++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj @@ -18,7 +18,8 @@ - + <_ToolFile Include="$(MonoAotCrossDir)$(TargetCrossRid)\**" /> + @@ -30,13 +31,7 @@ <_SdkPropsProperties Include="TargetRid" Value="$(TargetCrossRid)" /> - <_PermissionsFiles><File Path="tools/mono-aot-cross" Permission="755" /> - - - <_PermissionsFiles>$(_PermissionsFiles) - <File Path="tools/opt" Permission="755" /> - <_PermissionsFiles>$(_PermissionsFiles) - <File Path="tools/llc" Permission="755" /> + <_PermissionsFiles>@(_ToolFile -> '<File Path="tools/%(RecursiveDir)%(FileName)%(Extension)" Permission="755" />', ' ') <_PermissionsProperties Include="PermissionsProperties" Value="$(_PermissionsFiles)" />