build dist for x86_64-pc-solaris and sparcv9-sun-solaris by psumbera · Pull Request #138699 · rust-lang/rust (original) (raw)
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 andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
[ Show hidden characters]({{ revealButtonHref }})
FIx for #126025
Note that this needs Nix with following commit:
nix-rust/nix@0f45593
Unfortunatelly there is no new release.
And for sparcv9 it needs also:
tov/libffi-rs#103
For now it therefore uses cargo patch infrastructure for these.
r? @marcoieni
rustbot has assigned @marcoieni.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.
Use r?
to explicitly pick a reviewer
rustbot added A-testsuite
Area: The testsuite used to check the correctness of rustc
Status: Awaiting review from the assignee but also interested parties.
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Relevant to the infrastructure team, which will review and decide on the PR/issue.
labels
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead.
cc @rust-lang/rust-analyzer
These commits modify the Cargo.lock
file. Unintentional changes to Cargo.lock
can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged.
Otherwise, you can ignore this comment.
This comment has been minimized.
This comment has been minimized.
(That being said, thank you for investigating fixes for the Solaris CI)
Is this ready for review? 👀
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request
jieyouxu removed the T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
label
BINUTILS_URL="https://ftp.gnu.org/gnu/binutils/$BINUTILS\_TAR" |
---|
download_file() { |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw this function is duplicated from illuminos-toolchain.sh
Can you move it to a shared script file or similar and source the file? so that we avoid having duplicate code.
Same is true for other parts of the scripts which are very similar
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw this function is duplicated from illuminos-toolchain.sh Can you move it to a shared script file or similar and source the file? so that we avoid having duplicate code.
I have moved it into shared.sh
.
Same is true for other parts of the scripts which are very similar
There are no other common functions. While the structure looks similiar I don't think it's good to connect these two more.
Sorry for the wait, I'm having a look now. I'm familiar with the Rust CI in general but not with solaris specifically, so please don't assume I'm familiar with the scripts you edited 👍
From what I can see you are extracting the build of x86_64-solaris and sparcv9-solaris from the dist-various-2
job.
My first question is: why? What's the advantage with respect to keeping these jobs in the dist-various-2
job?
The second question is: the dockerfile of dist-various-2
uses ubuntu:22.04
. Why are you using ubuntu:18.04
for the new dockerfiles? Is it possible to use newer ubuntu images?
Same for older software like python2. Previously python2 wasn't needed in dist-various-2
, why do we need it now?
Also can you explain how this PR fixes the issue you linked?
From what I can see you are extracting the build of x86_64-solaris and sparcv9-solaris from the
dist-various-2
job. My first question is: why? What's the advantage with respect to keeping these jobs in thedist-various-2
job?
dist-various-2
was generating just standard library for Solaris. Now also host tools are generated. So I think it's correct to move it outside of dist-various-2
job and have separate job like Illumos
or BSDs.
The second question is: the dockerfile of
dist-various-2
usesubuntu:22.04
. Why are you usingubuntu:18.04
for the new dockerfiles? Is it possible to use newer ubuntu images? Same for older software like python2. Previously python2 wasn't needed indist-various-2
, why do we need it now?
I have updated change to use ubuntu:22.04
and python3.
Also can you explain how this PR fixes the issue you linked?
I was asked in #126025 to do clean up. I decided to clean it up by compleltely removing all Solaris related stuff from dist-various-2
and have bright new build job for Solaris :-)
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few minor comments.
@Kobzol can you have a look at this PR as well?
BINUTILS_SUM='f66390a661faa117d00fab2e79cf2dc9d097b42cc296bf3f8677d1e7b452dc3a' |
---|
BINUTILS_BASE="binutils-$BINUTILS_VERSION" |
BINUTILS_TAR="$BINUTILS_BASE.tar.bz2" |
BINUTILS_URL="https://ftp.gnu.org/gnu/binutils/$BINUTILS\_TAR" |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be done after MCP is approved.
mkdir -p "$PREFIX" |
---|
make install |
cd / |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you cd
into root? Is going to the previous directory more correct in your opinion?
Same at line 171
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have used instead just cd
.
<<: *job-linux-4c |
---|
- name: dist-sparcv9-solaris |
<<: *job-linux-4c |
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you run [at]bors try
?
Otherwise I can do it for you to test this PR 👍
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dist-various-2
was generating just standard library for Solaris. Now also host tools are generated. So I think it's correct to move it outside ofdist-various-2
job and have separate job likeIllumos
or BSDs.
To clarify, you are promoting Solaris targets from Tier 2 to Tier 2 with host tools?
There should be an update to the platform support pages and a compiler MCP for the promotion (https://doc.rust-lang.org/nightly/rustc/target-tier-policy.html#tier-2-with-host-tools).
Yeah, just wanted to post this, this seems like it moves the Solaris target between tiers, so it should go through an MCP.
This was referenced
Apr 24, 2025
lnicola pushed a commit to lnicola/rust-analyzer that referenced this pull request
Some changes occurred in src/doc/rustc/src/platform-support
cc @Noratrieb
Yeah, just wanted to post this, this seems like it moves the Solaris target between tiers, so it should go through an MCP.
How can I initiate MCP?
Labels
Area: The testsuite used to check the correctness of rustc
Status: Awaiting review from the assignee but also interested parties.
Relevant to the infrastructure team, which will review and decide on the PR/issue.