This Time Self-Hosted
dark mode light mode Search

How not to update a library

So today the Gentoo KDE team received a mail from Josh Coalson – flac maintainer – directed to Sebastian Trueg as well as Gentoo, Mandriva and RedHat maintainers, with a patch to let K3B build with the recently released 1.1.3_beta2 version of flac itself.

At this point, I decided it was time to put that version masked in Portage, so that we could at least give a look of how widespread the breakage is… it turned out worse than I imagined.

Now, when you do a micro version bump, you expect either a bugfix only release or a minor feature enhancement release… but this is not the case for flac at all. This version removes two out of four libraries, libOggFLAC and libOggFLAC++, and instead merges a completely different Ogg container support inside libFLAC and libFLAC++ themselves. Also, it changes a wide range of library functions and remove headers.

The result is that almost all the software that uses libFLAC currently in Portage will not build against the new version, a part a few rare cases like mt-daapd, that only use the metadata access. The software that only works “at an arm distance” by using the flac and metaflac commands is instead still working as intended, and this is the only good news.

I’ve been correcting the dependencies of the software in portage to use ~flac-1.1.2 when it does not build with 1.1.3, so that at least, even by creating a up-down cycle, users unmasking flac thinking it will be better than the unmasked version won’t file bugs of software not building. I’ve also opened a bug, and the other devs are helping by testing their software too. Thanks guys!

I’ll be working in the next days to fix the issues, but it might take quite a while considering the changes. I’m also limited in my time as I’ve found another temporary job (labels, envelopes and optical reader, you know what that means if you ever did something like that), and my nephew should be born in a matter of days now, so I’ll be ready to go far away from keyboard at the call of my brother in law 🙂

At least I was able to update all the patches for flac 1.1.2 (included the visibility ones) for 1.1.3, so there won’t be any regression in Gentoo packaging.

Now, I should be working on cdparanoia, as Release Engineering is begging me to find a way to stop it from failing if the kernel sources aren’t available. Considering the bugs opened on bugzilla for the SG_IO patches, I’m probably just going to drop all of them and ask for a new stable, and add the new beta version, that should include equivalent improvements. It’s not helping to patch a software, losing upstream’s support, and then having bugs opened for it :/

Oh yes, my personal life is more sucky than usual, but that is something I can cope with it… for a while at least.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.