Skip to content

Promote Solaris Targets to Tier 2 with Host Tools #870

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

Closed
psumbera opened this issue Apr 29, 2025 · 7 comments
Closed

Promote Solaris Targets to Tier 2 with Host Tools #870

psumbera opened this issue Apr 29, 2025 · 7 comments
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted T-compiler Add this label so rfcbot knows to poll the compiler team

Comments

@psumbera
Copy link

psumbera commented Apr 29, 2025

Proposal

This proposal seeks to elevate the status of Solaris-based targets (sparcv9-sun-solaris, x86_64-pc-solaris) from Tier 2 (builds only, no host support) to Tier 2 with host tools, enabling the use of the Rust compiler and tools natively on Solaris hosts.

Promoting these targets to Tier 2 with host support will:

  • Allow Solaris developers to use native builds of the Rust compiler and tools.
  • Help test and validate the portability of Rust on non-Linux UNIX platforms.

(Note that the change has been proposed here: rust-lang/rust#138699)

Requirements for Tier 2 with Host Tools

  • Depending on the target, its capabilities, its performance, and the likelihood of use for any given tool, the host tools provided for a tier 2 target may include only rustc and cargo, or may include additional tools such as clippy and rustfmt.

rustc, cargo, clippy and rustfmt are required.

  • Approval of host tools will take into account the additional time required to build the host tools, and the substantial additional storage required for the host tools.

if it finishes within ~2.5 hours on a free runner (4-core x86 Linux), then it's fine, capacity-wise

  • The host tools must have direct value to people other than the target's maintainers. (It may still be a niche target, but the host tools must not be exclusively useful for an inherently closed group.) This requirement will be evaluated independently from the corresponding tier 2 requirement.
  • There must be a reasonable expectation that the host tools will be used, for purposes other than to prove that they can be used.

These targets and host tools are intended for use by developers on the Oracle Solaris.

  • The host tools must build and run reliably in CI (for all components that Rust's CI considers mandatory), though they may or may not pass tests.

OK.

  • Building host tools for the target must not take substantially longer than building host tools for other targets, and should not substantially raise the maintenance burden of the CI infrastructure.

Yes.

  • The host tools must provide a substantively similar experience as on other targets, subject to reasonable target limitations.

Yes.

  • If the host tools for the platform would normally be expected to be signed or equivalent (e.g. if running unsigned binaries or similar involves a "developer mode" or an additional prompt), it must be possible for the Rust project's automated builds to apply the appropriate signature process, without any manual intervention by either Rust developers, target maintainers, or a third party. This process must meet the approval of the infrastructure team.

Works without a signature.

  • Providing host tools does not exempt a target from requirements to support cross-compilation if at all possible.

These targets are already well-supported by cross compilation.

  • All requirements for tier 2 apply.

These targets are already supported in Tier 2.

@psumbera psumbera added major-change A proposal to make a major change to rustc T-compiler Add this label so rfcbot knows to poll the compiler team labels Apr 29, 2025
@rustbot
Copy link
Collaborator

rustbot commented Apr 29, 2025

Important

This issue is not meant to be used for technical discussion. There is a Zulip stream for that.
Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

Concerns or objections can formally be registered here by adding a comment.

@rfcbot concern reason-for-concern
<description of the concern>

Concerns can be lifted with:

@rfcbot resolve reason-for-concern

See documentation at https://forge.rust-lang.org

cc @rust-lang/compiler

@rustbot rustbot added the to-announce Announce this issue on triage meeting label Apr 29, 2025
@apiraino apiraino removed the to-announce Announce this issue on triage meeting label May 2, 2025
@tgross35
Copy link

It seems like everyone is reasonably in favor of this on Zulip. libc also already runs CI for Solaris.

@rustbot second

@rustbot rustbot added the final-comment-period The FCP has started, most (if not all) team members are in agreement label May 12, 2025
@RalfJung
Copy link
Member

RalfJung commented May 23, 2025

These targets are already supported in Tier 2.

However, I don't think they satisfy all our tier 2 requirements: we only have one target maintainer listed. This is an old target that was grandfathered in when we established our current target policy, so there might be further policy violations.

(Posting this here to make it a formal concern)

@jieyouxu
Copy link
Member

(Posting this here to make it a formal concern)

@rfcbot concern insufficient-target-maintainers

@psumbera
Copy link
Author

These targets are already supported in Tier 2.

However, I don't think they satisfy all our tier 2 requirements: we only have one target maintainer listed. This is an old target that was grandfathered in when we established our current target policy, so there might be further policy violations.

(Posting this here to make it a formal concern)

Therefore I'm proposing 2nd Solaris target maintainer here: rust-lang/rust#141446.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue May 23, 2025
Add 2nd Solaris target maintainer

Based on concenr here rust-lang/compiler-team#870 (comment) I propose my coleague `@kulikjak` as 2nd Solaris maintainer. He already did some work to Rust in past.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue May 24, 2025
Add 2nd Solaris target maintainer

Based on concenr here rust-lang/compiler-team#870 (comment) I propose my coleague ``@kulikjak`` as 2nd Solaris maintainer. He already did some work to Rust in past.
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue May 24, 2025
Add 2nd Solaris target maintainer

Based on concenr here rust-lang/compiler-team#870 (comment) I propose my coleague ```@kulikjak``` as 2nd Solaris maintainer. He already did some work to Rust in past.
@jieyouxu
Copy link
Member

The second target maintainer has agreed to co-maintaining this target.
@rfcbot resolve insufficient-target-maintainers

rust-timer added a commit to rust-lang/rust that referenced this issue May 24, 2025
Rollup merge of #141446 - psumbera:2nd-maintainer, r=RalfJung

Add 2nd Solaris target maintainer

Based on concenr here rust-lang/compiler-team#870 (comment) I propose my coleague ```@kulikjak``` as 2nd Solaris maintainer. He already did some work to Rust in past.
github-actions bot pushed a commit to rust-lang/miri that referenced this issue May 25, 2025
Add 2nd Solaris target maintainer

Based on concenr here rust-lang/compiler-team#870 (comment) I propose my coleague ```@kulikjak``` as 2nd Solaris maintainer. He already did some work to Rust in past.
@apiraino
Copy link
Contributor

@rustbot label -final-comment-period +major-change-accepted

@rustbot rustbot added major-change-accepted A major change proposal that was accepted to-announce Announce this issue on triage meeting and removed final-comment-period The FCP has started, most (if not all) team members are in agreement labels May 27, 2025
@apiraino apiraino removed the to-announce Announce this issue on triage meeting label May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted T-compiler Add this label so rfcbot knows to poll the compiler team
Projects
None yet
Development

No branches or pull requests

6 participants