Unannounced ABI change without soname bump in libevdev-0.6 in Rawhide (and F19 and F20...) breaks GNOME, probably other consumers

Adam Williamson awilliam at redhat.com
Fri Dec 27 03:52:04 UTC 2013


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
Taskotron.

> 
> 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.)
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
http://www.happyassassin.net



More information about the devel mailing list