Open sdmaclea opened 3 years ago
@dagood to take a look.
I checked an apphost tar.gz output from a dotnet/runtime daily build and the problem isn't there in the original artifact. (Except for libnethost.dylib
.) dotnet-apphost-pack-6.0.0-alpha.1.21056.6-osx-arm64.tar.gz
:
vs. dotnet-sdk-6.0.100-alpha.1.21056.8-osx-arm64.tar.gz
from dotnet/installer readme:
This target looks like it's doing this intentionally:
/cc @NikolaMilosavljevic FYI
(
apphost
andsinglefilehost
templates are debatable).
For anyone curious what this means, there's a thread about it at https://github.com/dotnet/runtime/issues/3843.
@dagood Hmmm
<Exec Command="find $(SdkOutputDirectory) -type f -exec chmod 644 {} \;" />
On second thought 644
is rw-r--r--
so that is not the correct root cause.
Oh... right. 😄 Well, the nupkgs (Microsoft.NETCore.App.Host.osx-arm64
) don't persist permission bits and NuGet restore extracts them as 744, which matches. I guess the SDK layout uses the nupkg
s, not the tar.gz
s.
I did look at the preview1 installer. The dlls are not marked executable. The dylibs
are though. Per @janvorli, XCode marks dylibs as executable by default and we have just left them as executable.
I di see that when we published --self-contained
the sdk installed the dlls as executable though.
Did this end up getting fixed in 6.0.100 and can be closed? Reactivate if not.
This hasn't changed. Here's a fresh screenshot of dotnet-sdk-6.0.100-osx-arm64.tar.gz
packs\Microsoft.NETCore.App.Host.osx-arm64\6.0.0\runtimes\osx-arm64\native\
:
@marcpopMSFT this is still a thing - the latest Linux binaries (8.0.300) have the executable bit marked on so many unnecessary files. When I extracted the tarball every file and directory in it had rwx permissions for user, group, and other.
Too many files are marked executable. (while I've only looked at the osx-arm64 build, I would guess this is a general problem.
The reasonable set of executable binaries would be these. (
apphost
andsinglefilehost
templates are debatable).We are marking
dll
,xml
,dylib
,txt
,h
anda
extensions executable. None of these represent executable programs.This issue probably belongs in another repo (arcade?), but symptoms cross dependent repos
/cc @jkoritzinsky @ViktorHofer @mmitche