Replies: 2 comments
-
|
I totally agree that some parts of DKMS’s design do have problems, rewriting it in Rust would be worthwhile, and it gives me a strong incentive to learn Rust. Will there be a release roadmap for dksm‑rs? |
Beta Was this translation helpful? Give feedback.
0 replies
-
|
Came across this while doing my due-diligence issue search. I'm a long-time user of Linux and DKMS, and I've been writing Rust for a bit over 5 years. So yeah, I think I would be reasonably competent to chip in with some expertise. Please let me know how I could be of help. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Now that we have a separate project (thanks to everyone involved), I'm about to open the next can of worms 🙀
Having single file with ~2.8kloc is neither particularly maintainable nor fun. The fact that we're using bash doesn't make it much better - although using python, perl, etc. would not help much.
Considering, dkms is run as root (for a large set of {sub,}commands) and a slight itch to practise some rust, I'm proposing a gradual RIR. There is a lot of code in dkms with zero tests, users and/or meaningful (git) history, which will not be included unless a viable use-case is presented.
This will give us the opportunity to remove some questionable design decisions, albeit breaking some backwards compatibility.
Once we're happy with the scope and functionality of dkms-rs, we can tag dkms as bugfix only and carry on.
To make the process a bit easier, we should move the tests into separate repo under the new project and them in both dkms/dkms-rs.
To be mindful of people with little rust experience and/or coming from other languages, I'm leaning that we stick to Rust 2021 and as little crates as possible, at least initially.
The goal is not to write the "best" or "fastest" rust code, but something that non-rust people canunderstand and contribute to... Somewhat easily.
Would love to hear if other team members has rust experience and particular rust features/constructs/creates they see as a "must have" or "banned for now".
Thanks
P.S. For anyone wondering, this is the core reason why I had dkms on the back-burner over the last how many months.
Beta Was this translation helpful? Give feedback.
All reactions