Skip to content

Be #1472

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

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Be #1472

wants to merge 6 commits into from

Conversation

WorksButNotTested
Copy link
Contributor

  • Configure rustix to use the linux_raw backend on armeb-unknown-linux-gnueabi and aarch64_be-unknown-linux-gnu targets. (Both of these are tier 3 rust platforms and hence no public binaries are provided).
  • Since rustix uses tempfile for its unit test, which in turn uses rustix as a dependency we have a cyclic dependency. Change the Cargo.toml so that the version of rustix used to satisfy this tempfile dependency is the working copy.

@WorksButNotTested
Copy link
Contributor Author

@sunfishcode Grateful for your thoughts on this.

@WorksButNotTested
Copy link
Contributor Author

Seems the freebsd test failure issue is unrelated? This workflow appears to have run successfully.
https://github.com/bytecodealliance/rustix/actions/runs/15474936766

A few of the other commits also adress issues caused by the release of new crates which require a version of rust higher than the MSRV.

Lastly, there is a commit to fix an issue whereby constants guarded by the stdio feature are used within the tests of the fs feature although there is no dependency between those features.

# the same consistent version. We therefore need to use a version of tempfile
# for which its rustix dependency is a semver match for our current version.
[patch.crates-io]
rustix = { path = "." }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will make it impossible to do a semver incompatible release of rustix as there is no tempfile version that has a semver compatible dependency on rustix yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't really see a good solution to this problem. I guess the real problem is that there is a cyclic dependency, but the two projects are both under separate ownership. The only clean solution I can see is to remove that dependency and trty to find an alternative crate. The change is outside the scope of my original PR really, I just wanted to try and get the CI working to ensure I didn't introduce any regressions. But it seems unfortunately that new releases of other crates change the result of the CI. Happy to take advice on how to proceed here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One option would be to keep the big-endian CI disabled for now and only enable it once there is a new rustix release.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tempfile's use of rustix is not part of rustix's testsuite. We don't need to make tempfile's version of rustix match the version of rustix using tempfile for tests. They can differ and it's fine.

@@ -286,11 +286,11 @@ pub(crate) const SIGSYS: c_int = linux_raw_sys::general::SIGSYS as _;
))]
pub(crate) const SIGEMT: c_int = linux_raw_sys::general::SIGEMT as _;

#[cfg(feature = "stdio")]
#[cfg(any(test, feature = "stdio"))]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These constants are used in the tests here and here. Not related to the purpose of my change, but trying to get the CI into life to check for any regressions.

@WorksButNotTested
Copy link
Contributor Author

@bjorn3 Thanks for the feedback. Just let me know how best to proceed and I'm happy to make any changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants