Sync eng/common/{cross,native} with changes made in diagnostics#17044
Conversation
Ports the changes from dotnet/diagnostics#5892 so eng/common/{cross,native} matches the diagnostics PR result: OpenBSD cross-build support, FreeBSD 13.5-RELEASE / pkg 2.7.5 bumps, install-debs.py signature verification (gpgv), toolchain BSD handling, and the new opt-in native/LocateNativeCompiler.targets and native/NativeAotSupported.props files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
eng/common/{cross,native} with arcadeeng/common/{cross,native} with changes made in diagnostics
|
cc: @am11 |
There was a problem hiding this comment.
Pull request overview
Ports eng/common/{cross,native} updates into Arcade release/10.0, primarily to expand cross-build/rootfs support (notably OpenBSD), refresh BSD/Linux package/toolchain handling, and introduce opt-in MSBuild plumbing for NativeAOT compiler/linker discovery.
Changes:
- Extend cross rootfs/toolchain logic (OpenBSD support, FreeBSD base/pkg updates, HTTPS mirror updates, and signature-check wiring changes).
- Harden Debian rootfs generation in
install-debs.py(checksums, safersubprocess.run, tar extraction filtering, signature verification flow). - Add opt-in NativeAOT props/targets for gating support and locating the native toolchain.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| eng/common/cross/build-rootfs.sh | Adds OpenBSD rootfs creation path; updates FreeBSD/Ubuntu mirror and signature-check argument handling. |
| eng/common/cross/install-debs.py | Adds SHA256 verification for packages/indexes and Release signature verification plumbing; hardens extraction and subprocess usage. |
| eng/common/cross/toolchain.cmake | Adds OpenBSD detection/target triples; updates FreeBSD triples and improves Haiku toolchain setup logic. |
| eng/common/native/init-distro-rid.sh | Adds OpenBSD non-portable RID computation. |
| eng/common/native/install-dependencies.sh | Updates Linux/macOS dependency lists (e.g., ninja, file) and expands distro handling. |
| eng/common/native/LocateNativeCompiler.targets | New opt-in MSBuild target to source init-compiler.sh and set NativeAOT-related linker properties. |
| eng/common/native/NativeAotSupported.props | New opt-in props to gate NativeAOT support by OS/architecture. |
There was a problem hiding this comment.
There is one line difference in this file in main branch, please include that as well (it's for Tizen).
…-debs.py Port of #17024. gpgv verifies a detached signature against a fixed keyring without involving gpg-agent or keyboxd, making it robust on GnuPG 2.4+ hosts (e.g. Azure Linux) where 'gpg --keyring' routes through keyboxd and can fail. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
FYI, we don't need to diverge from main. This script is used by https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/d18b106ff799a44957a9654a70fe73c62111a14b/src/azurelinux/3.0/net10.0/crossdeps-builder/amd64/Dockerfile#L120, where we don't clone from .NET 10 branch in .NET 10 images, and it will take some more changes there to make it work with .NET 10 branch. We certainly can do that if we must for compliance etc. Current state is that we don't. The way to look at |
|
Main has https://github.com/dotnet/arcade/pull/17024/changes - I brought it over since it's a fair claim. We don't try to build our cross-root anymore, it was more a completeness thing. |
…v var
- Remove 'message(STATUS ...)' for TIZEN_TOOLCHAIN_PATH (aligns with main, per am11 feedback)
- Quote \{CCC_CC} in the if() expression so it is always a valid operand when the variable is unset or contains spaces
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ports the changes from dotnet/diagnostics#5892 to arcade's release/10.0 branch, bringing
eng/common/{cross,native}up to date. Also includes the gpgv fix from #17024.Changes
cross/build-rootfs.sh
openbsdcodename,__OpenBSDArch/__OpenBSDMachineArchvariables, OpenBSD package list)13.5-RELEASEand pkg to2.7.5armelandarmv6as general build architectures (moved to tizen-specific script)cross/install-debs.py
--force-check-gpgflag) from Sync eng/common/{cross,native} with arcade diagnostics#5892gpgvinstead ofgpgfor Release file signature verification (Use gpgv instead of gpg for Release signature verification in install-debs.py #17024) — avoids gpg-agent/keyboxd issues on GnuPG 2.4+ hosts (e.g. Azure Linux)cross/toolchain.cmake
native/init-distro-rid.sh
native/install-dependencies.sh
native/LocateNativeCompiler.targets (new file)
init-compiler.shand set NativeAOT linker propsnative/NativeAotSupported.props (new file)