community/powershell: move from testing
As the build process for this is confusing (like most dotnet stuff), this'll likely stay in canary for a little while before inclusion in community.
See issue The following tasks need to be complete for eventual inclusion:
-
no prebuilts (Issue)
Make sure there are no prebuilt artifacts, as Microsoft likes to pull artifacts rather than build them locally. Sus files:
libpsl-native.so
-
libSystem.IO.Ports.Native.so
(this one even links to glibc.so)
complete: Apparently, this is to be accepted with dotnet - there will be prebuilts. In libpsl-native's case, it was prudent to create an aport due to libpsl-native.so not being pulled for armv7.
-
fix test unit PSTests.Parallel.FileSystemProviderTests.TestMode
(fixed in !37566 (merged) | Issue)
While neutralized by check patch, it'd be important to confirm if its non-fatal, or fix the issue that causes the error. Error as is:
[xUnit.net 00:00:06.26] PSTests.Parallel.FileSystemProviderTests.TestMode [FAIL]
Failed PSTests.Parallel.FileSystemProviderTests.TestMode [5 ms]
Error Message:
Assert.Equal() Failure
↓ (pos 0)
Expected: -----
Actual: l----
↑ (pos 0)
Stack Trace:
at PSTests.Parallel.FileSystemProviderTests.TestMode() in /home/user/projects/powershell/testing/powershell/src/PowerShell-7.2.5/test/xUnit/csharp/test_FileSystemProvider.cs:line 123
complete: Test was broken on Alpine, and was easily fixed by a patch.
-
confirm safe removal of libSystem.IO.Ports.Native.so
(Issue)
As this links to glibc.so
, it was removed in package()
function. It'd be nice to make sure that pwsh
doesn't care. All test units (except above) works despite removal.
complete: This is caused by https://github.com/dotnet/runtime/issues/63187, unrelated to PowerShell, thus will ignore and assume that it is safe for removal, as even Microsoft's build has a broken library.
-
test general functionality
As I don't use this tool, the benefits of dogfooding escapes me. @tigerinus, as you had requested this package, could you do some more in-depth field testing?
complete: As there isn't any response from requester, and as I've confirmed binary partity between pwsh
built by my build process, and pwsh
built when pwsh
builds itself (normal build is self-hosted...), and (for the most part) successful checks, going to assume that general functionality is a thing.
-
failed tests in builder but not in pipeline (fixed in !37552 (merged))
See error:
System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.Management.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
Full log: https://img.ayaya.dev/H5qMI0ixOYbq
complete: Fix by setting RID explicitely during build
-
aarch64 / armv7 support (fixed in !37566 (merged) | Issue)
It appears as though build process for aarch64 / armv7 tries to crosscompile even on arm platform.
complete: Fixed by disabling code optimization, as this is broken on armv7
and aarch64
due to https://github.com/dotnet/runtime/issues/73908