Date: Tue, 10 Sep 2024 22:32:05 -0700 From: Mark Millard <marklmi@yahoo.com> To: freebsd-hackers <freebsd-hackers@freebsd.org> Subject: Re: What rust claims about FreeBSD support (as an example involved in picking languages) Message-ID: <9F4DBD51-E706-44BD-A243-C08E6535D80D@yahoo.com> In-Reply-To: <EA351078-5A72-4B9E-8CFA-7A321EE0D906@yahoo.com> References: <EA351078-5A72-4B9E-8CFA-7A321EE0D906@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[I had not read the rust Tier information prior to what lead to the use of the material in the original note. I continued to read after my note and I ran into Tier 2 and Tier 3 criteria relative to PR communication that I'm adding this time.] On Sep 10, 2024, at 20:22, Mark Millard <marklmi@yahoo.com> wrote: > [Please view this as just illustrating a technical > issue involved, not as some sort of objection on my > part to various ideas that have been expressed.] >=20 >=20 > Using rust as an example to illustrate a more general > issue that might be involved in picking languages . . . >=20 > https://doc.rust-lang.org/nightly/rustc/platform-support.html reports > its support tier structure relative to FreeBSD as: > (for 32-bit I'll only list armv7 information) >=20 >=20 > Tier 2 with Host Tools: >=20 > x86_64-unknown-freebsd 64-bit FreeBSD >=20 >=20 > Tier 3 with std and host checkmarked (=E2=9C=93): >=20 > aarch64-unknown-freebsd ARM64 FreeBSD > armv7-unknown-freebsd Armv7-A FreeBSD > powerpc64-unknown-freebsd PPC64 FreeBSD (ELFv1 and ELFv2) >=20 >=20 > Tier 3 with no checkmarks (nor * nor ? for std): >=20 > powerpc64le-unknown-freebsd PPC64LE FreeBSD > riscv64gc-unknown-freebsd RISC-V FreeBSD >=20 >=20 > Tier 2 with Host tools is described via: >=20 > QUOTE > Tier 2 targets can be thought of as "guaranteed to build". The Rust = project builds official binary releases of the standard library (or, in = some cases, only the core library) for each tier 2 target, and automated = builds ensure that each tier 2 target can be used as build target after = each change. Automated tests are not always run so it's not guaranteed = to produce a working build, but tier 2 targets often work to quite a = good degree and patches are always welcome! >=20 > Tier 2 target-specific code is not closely scrutinized by Rust team(s) = when modifications are made. Bugs are possible in all code, but the = level of quality control for these targets is likely to be lower. See = library team policy for details on the review practices for standard = library code. >=20 > Tier 2 targets with host tools additionally support running tools like = rustc and cargo natively on the target, and automated builds ensure that = the host tools build as well. This allows the target to be used as a = development platform, not just a compilation target. For the full = requirements, see Tier 2 with Host Tools in the Target Tier Policy. >=20 > All tier 2 targets with host tools support the full standard library. > NOTE: The rust-docs component is not usually built for tier 2 targets, = so Rustup may install the documentation for a similar tier 1 target = instead. > END QUOTE >=20 >=20 > Tier 3 is described via: >=20 > QUOTE > Tier 3 targets are those which the Rust codebase has support for, but = which the Rust project does not build or test automatically, so they may = or may not work. Official builds are not available. For the full = requirements, see Tier 3 target policy in the Target Tier Policy. >=20 > The std column in the table below has the following meanings: > =E2=80=A2 =E2=9C=93 indicates the full standard library is = available. > =E2=80=A2 * indicates the target only supports no_std development. > =E2=80=A2 ? indicates the standard library support is unknown or a = work-in-progress. >=20 > Tier 3 target-specific code is not closely scrutinized by Rust team(s) = when modifications are made. Bugs are possible in all code, but the = level of quality control for these targets is likely to be lower. See = library team policy for details on the review practices for standard = library code. >=20 > The host column indicates whether the codebase includes support for = building host tools. > END QUOTE >=20 >=20 > I've not looked up the status of any other languages > but I think the above may illustrate the considerations > involved sufficiently. >=20 > Some languages may be fairly easy to self support. Others > might require upstream to have some sufficient degree of > support before it would be viable overall/long-term for > FreeBSD to depend on it across a range of platforms, > especially FreeBSD Tier 1 platforms. >=20 > An issue for my example (rust) is that as long as FreeBSD > has aarch64 as Tier 1 in FreeBSD terms, might it be that > the rust Tier 3 status of aarch64-unknown-freebsd could > be a problem? Can FreeBSD cover the gap or lead rust to > change the rust Tier 3 status to, say, rust Tier 2 with > Host Tools for aarch64, matching x86_64-unknown-freebsd ? The following quotes are from: https://doc.rust-lang.org/rustc/target-tier-policy.html Tier 3 context's note on PR communication relative to maintaining the Tier 3 target: QUOTE =E2=80=A2 Tier 3 targets must not impose burden on the authors of = pull requests, or other developers in the community, to maintain the = target. In particular, do not post comments (automated or manual) on a = PR that derail or suggest a block on the PR based on a tier 3 target. Do = not send automated messages or notifications (via any medium, including = via @) to a PR author or others involved with a PR regarding a tier 3 = target, unless they have opted into such messages. =E2=80=A2 Backlinks such as those generated by the issue/PR = tracker when linking to an issue or PR are not considered a violation of = this policy, within reason. However, such messages (even on a separate = repository) must not generate notifications to anyone involved with a PR = who has not requested such notifications. END QUOTE Sounds like aarch64-unknown-freebsd being rust Tier 3 might have more support issues than I was originally thinking from what I'd read earlier, given the constraints on some Tier 3 communication. Tier 2 (with or without Host Tools) context's note on PR communication relative to ensuring that tests pass for the Tier 2 target: QUOTE =E2=80=A2 Tier 2 targets must not impose burden on the authors of = pull requests, or other developers in the community, to ensure that = tests pass for the target. In particular, do not post comments = (automated or manual) on a PR that derail or suggest a block on the PR = based on tests failing for the target. Do not send automated messages or = notifications (via any medium, including via @) to a PR author or others = involved with a PR regarding the PR breaking tests on a tier 2 target, = unless they have opted into such messages. =E2=80=A2 Backlinks such as those generated by the issue/PR = tracker when linking to an issue or PR are not considered a violation of = this policy, within reason. However, such messages (even on a separate = repository) must not generate notifications to anyone involved with a PR = who has not requested such notifications. END QUOTE Sounds like x86_64-unknown-freebsd being rust Tier 2 with Host Tools might have more support issues than I was originally thinking from what I'd read earlier, given the constraints on some Tier 2 communication relative to passing tests. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9F4DBD51-E706-44BD-A243-C08E6535D80D>