Skip to content

Promote Solaris Targets to Tier 2 with Host Tools #870

Open
@psumbera

Description

@psumbera

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-compilerAdd this label so rfcbot knows to poll the compiler teamfinal-comment-periodThe FCP has started, most (if not all) team members are in agreementmajor-changeA proposal to make a major change to rustc

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions