Unannounced ABI change without soname bump in libevdev-0.6 in Rawhide (and F19 and F20...) breaks GNOME, probably other consumers
tflink at redhat.com
Mon Jan 6 16:45:40 UTC 2014
On Thu, 26 Dec 2013 19:52:04 -0800
Adam Williamson <awilliam at redhat.com> wrote:
> On Thu, 2013-12-26 at 21:43 -0600, Richard Shaw wrote:
> > On Thu, Dec 26, 2013 at 8:51 PM, Adam Williamson
> > <awilliam at redhat.com> wrote:
> > Time for another PSA...
> > It appears libevdev 0.6 breaks the library's ABI without
> > bumping the
> > soname (and without an announcement here or anywhere else I
> > can find,
> > but an ABI change without an soname bump is just flat out
> > wrong whether
> > announced or not). 0.6 was sent to Rawhide, F19 and F20
> > simultaneously.
> > I've been maintaining abi-compliance-checker in Fedora for some time
> > now. Is there a good way to integrate it into the build system so
> > that it would run a diff with the previously released package to
> > check for breakages? It could be treated as informative, not
> > necessarily a failure. It produces a fairly easy to read html
> > report.
> No. There's a bad one, which is AutoQA. The problem with it is it's
> more or less considered obsolete now as far as new development goes;
> the devs are working on Taskotron to replace it, but I don't believe
> it's ready for test contributions yet, unfortunately.
> Once we have Taskotron up and going (which I believe is aimed for the
> first half of 2014), we can start adding more automated tests, which
> we'd very much like to do, but I don't think anyone's keen on adding
> extra tests to AutoQA at this point, as any time spent implementing
> them and keeping them working takes away from time spent developing
Yeah, AutoQA is in bare-minimum maintenance mode (ie, change only if
something is broken) for now. It'll be going away as soon as taskotron
is ready to replace it. Assuming that everything goes reasonably
according to plan, that'll be in the next month or two.
> > I already use it manually to check for abi breakages in packages
> > where upstream doesn't maintain good API/ABI versioning.
> > I maintain pkgdiff as well and it's pretty cool but only checks
> > diffs between packages and can do it just using the debuginfo
> > package of the two releases.
> We do have rpmguard checks in AutoQA, which catch quite a bit of
> stuff, but wouldn't have caught this: they catch when an soname
> changes, but not when interfaces are changed without the soname
> changing. (And they're purely advisory and only available from the
> AutoQA web frontend or email delivery thingy.)
The other reason AutoQA wouldn't have caught this is that it isn't
being run against rawhide. That's something I'd like to change going
forward but it may still be a little while before that's actually
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 490 bytes
Desc: not available
More information about the devel