-
Notifications
You must be signed in to change notification settings - Fork 124
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
Revert changes to evdev-rs and uinput crates #51
Conversation
This reverts commits: - bcbb5ec. - 2e66b32. The reason for doing this is that evdev-rs=0.5.0, evdev-sys=0.2.4 have a bug where they aren't cached properly and get recompiled on every build/test/check. This is degrades the development workflow on Linux. The issue has been fixed but there is no version published to crates.io that includes the fix. See: ndesh26/evdev-rs#88
@jian-lin due to a bug in the build caching latest version of These changes can be brought back after ndesh26/evdev-rs#96 is done. Alternatively the |
I'm sorry if this bug causes trouble to you. I agree that a new release of evdev-rs containing the fix is the right way to fix this. However, there are some possible ways to avoid this revert:
What do you think? |
I think doing 3. is the best course of action for now. I wouldn't want to do 1. since it may be hard for other potential contributors to find the workaround. And regarding 2., I'd like to be able to publish while I wait for a release. If you'd like to make a PR to re-introduce bcbb5ec with adjustments to continue compiling, I'll happily accept it. Otherwise I'll get around to it probably around the weekend. |
Crates like I am a bit confused why it's hard to do so since all you need to do is to provide (edited a typo) |
I use NixOS and I plan to package For mainstream distros like debian, I guess |
Also building |
Good questions and useful info. My main issue is not that it's difficult to fix but rather the process of discovering what the fix should be is not straightforward. To exaggerate, it's like a one-line bug fix that took a week to find. The problem with this is that the symptom of the issue doesn't immediately stand out but it impacts workflow in a negative way. One of the great things about cargo is that in most cases, it "just works", and doing 1. breaks that. It could be documented in the README, but the documentation might get missed. So unless there's a very compelling reason to go with 1., I'd rather go with approach 3. until a new release is done for evdev-rs. Another alternative is: |
I should also mention 5. use the I'll look into that option at a later time as well. |
Well, when I try to reproduce your issue, i.e. to let
IMO, it should be enough.
Vendering dependencies brings you maintenance burden to keep those dependencies up-to-date, which may cause MANY issues and should only be used as a last resort. |
Thanks for the input, it's very helpful. This makes me favour 5. a lot more to avoid the problems of dealing with C code and -sys crates. It'll require a lot more changes from what I can tell, but I think it's worth investigating. I'll be looking into it in the coming days. |
This reverts commits:
The reason for doing this is that evdev-rs=0.5.0, evdev-sys=0.2.4 have
a bug where they aren't cached properly and get recompiled on every
build/test/check. This is degrades the development workflow on Linux.
The issue has been fixed but there is no version published to crates.io
that includes the fix.
See: ndesh26/evdev-rs#88