-
Notifications
You must be signed in to change notification settings - Fork 2
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
Rewrite it in Rust #4
Conversation
I think we can remove the If I understand correctly,
EDIT: Done. |
5c2a1e3
to
b883745
Compare
I think it's looking good so far, thanks for working on this. Do you plan to rewrite |
I plan to rewrite it too, but I'll only find time in the next few days. |
77937fe
to
797a679
Compare
EDIT: Done. |
79d07c1
to
c176314
Compare
a9fee64
to
239d90e
Compare
@teohhanhui This is looking really good so far! Is there anything else remaining to be done apart for the fork+exec replacement for passt? |
@teohhanhui I'm also thinking about renaming this repo as |
I think there's value in keeping the commit history, but it's your call. |
There's the hardcoded There's also the TODO that you've noted about only overriding the mesa driver selection on Asahi Linux. Is it possible for us to set that in Other than that, it's housekeeping stuff like updating the GitHub Actions workflows and removing the old code etc. (if you choose to keep the commit history). |
[dependencies] | ||
anyhow = "1.0.82" | ||
arrayvec = "0.7.4" | ||
bpaf = "0.9.11" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't look like bpaf
is packaged in Fedora. Unless there's a strong reason to use it, I think switching to something like clap
would make things easier for us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't mind packaging bpaf
. I have a strong dislike for clap
(it sucks).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would imply that packaging krun
becomes dependent on packaging bpaf
first. It's additional maintenance burden, but if you're up to it, that's fine by me.
That would be better indeed.
Yes. We can probably generalize this by having an argument in
We can also do this later, doesn't need to be part of this PR. As you prefer.
Ack. IMO keeping the (very short) commit history after a full rewrite that switches to another language creates confusion more than anything else. I'll create the repo either later today or tomorrow. |
Switched to using a Cargo workspace. This will help enforce a clean separation between the |
I was looking into https://registry.khronos.org/EGL/extensions/MESA/EGL_MESA_query_driver.txt but that seems like too much work for now... Can we just use EDIT: Done. |
On that point... Do you need me to restore the hidden short options? ( Or were those only there because of how |
Never mind. It seems like we can just do the same call from EDIT: Done. |
ec2e60f
to
5c3522b
Compare
|
a88b7e1
to
5fe27f3
Compare
There are no more remaining tasks other than setting up the CI workflow, which I intend to do next. But perhaps we can get this into the new repo first, if you'd like. |
Great! Could you please rebase this PR into the new repo? |
Done. |
As discussed in #1 (comment)
Bugs fixed:
Current implementation of
krun
incorrectly passes own arguments tokrun-guest
, e.g.Stop using hardcoded
/tmp/passt_1.socket
When forking
krun-guest
to rundhclient
in child process, stdin/stdout/stderr were illegally closed.See https://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html#tag_16_67_07
File exists (os error 17)
when trying to create the temp directory forXDG_RUNTIME_DIR
after the first run.Use properly unique temp dir names for each run.
Dependency tree with
cargo tree -e normal --no-dedupe
(excludingbuild-dependencies
):Requires containers/libkrun#181