-
Notifications
You must be signed in to change notification settings - Fork 677
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
Backport fixes to earlier releases? #1881
Comments
Some but not all of these bugs would also apply to 0.23, which I believe is also still fairly heavily used per the download statistics on https://crates.io/crates/nix. We could also backport and release a new patch for this branch, if desired. |
You're right. And even 0.22 has 10k downloads per day. We should probably backport. |
I'm happy to handle the actual cherry-picking and release processes; I think it can all wait until we have 0.26 released though. If we're applying fixes across 0.22 <-> 0.25, it'd be helpful to have a list of changes we want to cherry-pick into each version. There might be some fixes from 0.23 <-> 0.25 that we want to cherry-pick back to 0.22, for example. I've updated the original issue to provide a space for this list. |
If it's easy, sure. But I don't want to expend too much energy maintaining old releases. |
I'm working on upgrading the version of musl used by the Rust
If you're going to be releasing updates to any of those versions, it would be awesome if you could include #1886! I would be happy to help with that and provide patches and testing for whatever versions you choose. |
@rtzoeller I think I'll have some free time tonight or tomorrow evening to work on releases. I'll start with 0.26.0 and work my way backwards. |
@asomers if you can get 0.26.0 published (not sure if there are any other PRs we want to pull in), I'm happy to handle the backporting if you'd prefer. Not sure how much manual fixing of cherry-picks will be required. |
@wesleywiser if I'm understanding correctly, #1886 lets us support both musl 1.1 now and 1.2 in the future? In that case, I agree we should cherry-pick it back to those releases if possible. I'll add it to the list, but please thumbs up/down this comment to ack my understanding. |
@asomers I tried cherry-picking the commits and have added my notes to the issue body; very few conflicts and almost all could be solved by picking an additional commit. #1886 is the only painful one, just because we've added so much to I expect there will be a healthy amount of clippy cleanup needed after cherry picking, unless we want to suppress things. |
@rtzoeller need to backport #1821 as well. |
@asomers can you look over #1887 and #1889? These should reflect the 0.25 and 0.24 patches - I plan on publishing these as soon as I get your go-ahead (i.e. not waiting for the 0.23 and 0.22 patches to be ready first). I'm planning on closing the draft PRs and pushing directly to the branches, as it appears we have done in the past. 0.23 (#1892) is having some issues with the Redox build. We will also need to decide how to handle the 0.22 (#1901).... I am not sure what to do with. #1821 is nontrivial to backport due to #1524, which first landed in 0.23.0. We also were not running clippy at this point, and the build is failing for what appear to be infrastructure issues. |
#1892 should be ready for review; I'm not sure why the |
0.23, 0.24, and 0.25 are patched. 0.22 still remains, but I'm contemplating if our time is better spent updating crates which are still depending on that old of a version, rather than patching. For example: watchexec/command-group#8 |
Closing this issue. We never did publish another version of 0.22, and the world hasn't complained. |
The upcoming 0.26 release will fix several bugs -- as previous releases included or will include breaking changes, it may not be possible for all clients to trivially uptake these bug fixes by upgrading to the latest version of nix. Additionally, 0.26 will bump the MSRV, making it difficult for clients stuck on an older rust to adopt these fixes.
@asomers should we backport any of the fixes to patch earlier releases?
Here's a draft list of changes to backport to each version:
0.25
7109eb9d2e953f40ee0bbf79e8d427e8dd059930
- fix microsecond calculation for TimeSpec #18014d38456cab60843d212a62af7066ceac7bc6011e
- Handle unacceptable name gracefully in {User,Group}::from_name #18159b232dd5815c9f78d13e061a407468a6fad53142
- fix bugs on android armv7, becausepw.pw_passwd.is_null()
#1824fa62534a238c86334d41bc1da68267388cda9b36
- Fix using SockaddrStorage to store Unix domain addresses on Linux #1871 (at least the fix, and possibly the new APIs)006fc6f7975b3a6b64329847b780622aab392109
- Update use of libc::timespec to prepare for future libc version #18860.24
7109eb9d2e953f40ee0bbf79e8d427e8dd059930
- fix microsecond calculation for TimeSpec #18014d38456cab60843d212a62af7066ceac7bc6011e
- Handle unacceptable name gracefully in {User,Group}::from_name #18159b232dd5815c9f78d13e061a407468a6fad53142
- fix bugs on android armv7, becausepw.pw_passwd.is_null()
#18248cfc530b8881e2edba4df54d0334a6b81cd598c6
first to avoid conflict.fa62534a238c86334d41bc1da68267388cda9b36
- Fix using SockaddrStorage to store Unix domain addresses on Linux #1871 (at least the fix, and possibly the new APIs)006fc6f7975b3a6b64329847b780622aab392109
- Update use of libc::timespec to prepare for future libc version #1886b3e4d59bd7ad8a816b2ebe5f4564d8b62bbba4f5
?0.23
ad7e3c719ce43e0210e71763109c42383ee5aa33
- InetAddr::from_std should set sin_len/sin6_len on the BSDs #16427109eb9d2e953f40ee0bbf79e8d427e8dd059930
- fix microsecond calculation for TimeSpec #18014d38456cab60843d212a62af7066ceac7bc6011e
- Handle unacceptable name gracefully in {User,Group}::from_name #18159b232dd5815c9f78d13e061a407468a6fad53142
- fix bugs on android armv7, becausepw.pw_passwd.is_null()
#18248cfc530b8881e2edba4df54d0334a6b81cd598c6
first to avoid conflict.006fc6f7975b3a6b64329847b780622aab392109
- Update use of libc::timespec to prepare for future libc version #1886b3e4d59bd7ad8a816b2ebe5f4564d8b62bbba4f5
?0.22
ad7e3c719ce43e0210e71763109c42383ee5aa33
- InetAddr::from_std should set sin_len/sin6_len on the BSDs #16427109eb9d2e953f40ee0bbf79e8d427e8dd059930
- fix microsecond calculation for TimeSpec #18014d38456cab60843d212a62af7066ceac7bc6011e
- Handle unacceptable name gracefully in {User,Group}::from_name #18159b232dd5815c9f78d13e061a407468a6fad53142
- fix bugs on android armv7, becausepw.pw_passwd.is_null()
#18248cfc530b8881e2edba4df54d0334a6b81cd598c6
first to avoid conflict, but this commit requires manual resolution due to3f6151ebbe11c6c20735f6390be69461628f9857
.006fc6f7975b3a6b64329847b780622aab392109
- Update use of libc::timespec to prepare for future libc version #1886The text was updated successfully, but these errors were encountered: