This thread is a call for feedback from distros (or other similarly-situated systems integrators) using musl with 32-bit archs. Everything is moving smoothly on my side for upcoming time64 switchover which will be included in the next release, 1.2.0. But with this involving ABI issues between packages and changes that some software may not be ready for, it will likely be at least somewhat disruptive to distros/users. In particular: * Are there resources I could/should make available that will help things go smoothly? * Are you available for testing building and running packages against time64 musl prior to release? From my side, I'm planning to write up release notes/announcement far more detailed than usual, with instructions on switchover, what ABI compatibility/stability does & doesn't mean, possible pitfalls, tips for catching code that may have time64-related bugs, etc., and just basic FAQ items like whether you need a 5.1+ kernel (no) or kernel headers (no). I'll also be building and testing some software on i386 and sh at least; I already started with busybox, which just got the main time64-readiness issue I was aware of fixed. I think I'll push the last of the time64 patches within the next week, possibly sooner, meaning "distros start testing" is a thing that could begin really soon if anyone's up for it. Rich
[-- Attachment #1: Type: text/plain, Size: 1786 bytes --] On Sun, Oct 27, 2019 at 5:08 AM Rich Felker <dalias@libc.org> wrote: > This thread is a call for feedback from distros (or other > similarly-situated systems integrators) using musl with 32-bit archs. > Everything is moving smoothly on my side for upcoming time64 > switchover which will be included in the next release, 1.2.0. But with > this involving ABI issues between packages and changes that some > software may not be ready for, it will likely be at least somewhat > disruptive to distros/users. When are we planning for 1.2 release approximately? I would like to see it before March 2020 since openembedded/yocto releases in April this fits well with scheduling this upgrade and gives time to test it on various platforms > > In particular: > > * Are there resources I could/should make available that will help > things go smoothly? > > * Are you available for testing building and running packages against > time64 musl prior to release? Yes > > From my side, I'm planning to write up release notes/announcement far > more detailed than usual, with instructions on switchover, what ABI > compatibility/stability does & doesn't mean, possible pitfalls, tips > for catching code that may have time64-related bugs, etc., and just > basic FAQ items like whether you need a 5.1+ kernel (no) or kernel > headers (no). > > I'll also be building and testing some software on i386 and sh at > least; I already started with busybox, which just got the main > time64-readiness issue I was aware of fixed. > > I think I'll push the last of the time64 patches within the next week, > possibly sooner, meaning "distros start testing" is a thing that could > begin really soon if anyone's up for it. I will be able to start doing master work in couple of weeks > > Rich > [-- Attachment #2: Type: text/html, Size: 2789 bytes --]
On Sun, Oct 27, 2019 at 09:19:07AM +0100, Khem Raj wrote: > On Sun, Oct 27, 2019 at 5:08 AM Rich Felker <dalias@libc.org> wrote: > > > This thread is a call for feedback from distros (or other > > similarly-situated systems integrators) using musl with 32-bit archs. > > Everything is moving smoothly on my side for upcoming time64 > > switchover which will be included in the next release, 1.2.0. But with > > this involving ABI issues between packages and changes that some > > software may not be ready for, it will likely be at least somewhat > > disruptive to distros/users. > > > When are we planning for 1.2 release approximately? > I would like to see it before March 2020 since openembedded/yocto releases > in April this fits well with scheduling this upgrade and gives time to test > it on various platforms Absolutely before then, even if release plans slip far more than usual. My hope right now is to keep up with the roadmap on the wiki which has it at an unspecified time in November (2019, of course, but clarifying which year since this is an ongoing joke about something on #musl.. :). I will probably drop out some of the other goals from the roadmap though to keep it focused and keep this on time. > > In particular: > > > > * Are there resources I could/should make available that will help > > things go smoothly? > > > > * Are you available for testing building and running packages against > > time64 musl prior to release? > > Yes Great! > > From my side, I'm planning to write up release notes/announcement far > > more detailed than usual, with instructions on switchover, what ABI > > compatibility/stability does & doesn't mean, possible pitfalls, tips > > for catching code that may have time64-related bugs, etc., and just > > basic FAQ items like whether you need a 5.1+ kernel (no) or kernel > > headers (no). > > > > I'll also be building and testing some software on i386 and sh at > > least; I already started with busybox, which just got the main > > time64-readiness issue I was aware of fixed. > > > > I think I'll push the last of the time64 patches within the next week, > > possibly sooner, meaning "distros start testing" is a thing that could > > begin really soon if anyone's up for it. > > I will be able to start doing master work in couple of weeks Sounds like a good timeframe. time64 switchover will be upstream then and it gives us a couple weeks to keep the subsequent release in-month. Rich
[-- Attachment #1.1: Type: text/plain, Size: 2114 bytes --] On 26/10/2019 23:08, Rich Felker wrote: > This thread is a call for feedback from distros (or other > similarly-situated systems integrators) using musl with 32-bit archs. > Everything is moving smoothly on my side for upcoming time64 > switchover which will be included in the next release, 1.2.0. But with > this involving ABI issues between packages and changes that some > software may not be ready for, it will likely be at least somewhat > disruptive to distros/users. > > In particular: > > * Are there resources I could/should make available that will help > things go smoothly? > > * Are you available for testing building and running packages against > time64 musl prior to release? We can launch a full distro build against any given musl commit on 32-bit PowerPC and ARM (v7). We have test suites enabled on 1280 of our 2087 packages (~61%) so that should help find bugs if any. I can also then install it on a Power Mac G4 and a Raspberry Pi 2 we have set aside for testing experimental changes. It'd be much more difficult, but if nobody else offers i586 testing, we *may* be able to do that as well. Let us know. > From my side, I'm planning to write up release notes/announcement far > more detailed than usual, with instructions on switchover, what ABI > compatibility/stability does & doesn't mean, possible pitfalls, tips > for catching code that may have time64-related bugs, etc., and just > basic FAQ items like whether you need a 5.1+ kernel (no) or kernel > headers (no). That sounds great. > I'll also be building and testing some software on i386 and sh at > least; I already started with busybox, which just got the main > time64-readiness issue I was aware of fixed. > > I think I'll push the last of the time64 patches within the next week, > possibly sooner, meaning "distros start testing" is a thing that could > begin really soon if anyone's up for it. We would probably be ready for this in November. Best, --arw -- A. Wilcox (awilfox) Project Lead, Adélie Linux https://www.adelielinux.org [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Mon, Oct 28, 2019 at 06:52:04AM -0500, A. Wilcox wrote: > On 26/10/2019 23:08, Rich Felker wrote: > > This thread is a call for feedback from distros (or other > > similarly-situated systems integrators) using musl with 32-bit archs. > > Everything is moving smoothly on my side for upcoming time64 > > switchover which will be included in the next release, 1.2.0. But with > > this involving ABI issues between packages and changes that some > > software may not be ready for, it will likely be at least somewhat > > disruptive to distros/users. > > > > In particular: > > > > * Are there resources I could/should make available that will help > > things go smoothly? > > > > * Are you available for testing building and running packages against > > time64 musl prior to release? > > > We can launch a full distro build against any given musl commit on > 32-bit PowerPC and ARM (v7). We have test suites enabled on 1280 of our > 2087 packages (~61%) so that should help find bugs if any. I can also > then install it on a Power Mac G4 and a Raspberry Pi 2 we have set aside > for testing experimental changes. Excellent. > It'd be much more difficult, but if nobody else offers i586 testing, we > *may* be able to do that as well. Let us know. I think adding further 32-bit archs to test has diminishing returns. The big thing is to catch and be prepared for packages that might break when building with 64-bit time_t. I can think of various ways this could happen, for example attempts to declare and use functions without including the appropriate header, or without a declaration at all. Also, using %ld for printing time_t (already broken for x32 but nobody uses or tests x32 so... ¯\_(ツ)_/¯ And of course, aside for preparedness for packages breaking from bugs on their end, there's the matter of finding bugs on the musl side. These will almost surely not be arch-dependent, but high-level errors at the C source level. One other area of testing that would be useful, and far easier than rebuilding, is dropping a time64 libc.so into an existing distro build with 32-bit time_t, to see if you hit any bugs with compat shims. I did a minimal level of this with Adélie Linux in a container when I first got time64 and the shims to a testable level towards the end of the summer, and found and fixed a few bugs. > > I'll also be building and testing some software on i386 and sh at > > least; I already started with busybox, which just got the main > > time64-readiness issue I was aware of fixed. > > > > I think I'll push the last of the time64 patches within the next week, > > possibly sooner, meaning "distros start testing" is a thing that could > > begin really soon if anyone's up for it. > > We would probably be ready for this in November. Timing sounds good too. I'm doing final review before push now so the changes will be upstream soon in plenty of time for that, and aim for release is "sometime" in November. Rich