[Xcb] New libxcb and xcb-proto releases (code name: "Oh, shit")

Arnaud Fontaine arnau at debian.org
Mon Nov 18 03:01:34 PST 2013


Hi,

Uli Schlachter <psychon at znc.in> writes:

> On 15.11.2013 08:18, Arnaud Fontaine wrote:
>> Uli Schlachter <psychon at znc.in> writes:
>>>    - ("remove reference to nonexistant enum" since Peter asked for it)
>>> - libxcb:
>>>   - Revert the removal of xcb_ge_event_t
>> 
>> It was an ugly hack to access pad0 anyhow and this is a necessary fix
>> IMO, so I agree with Julien that it should not be reverted.
>
> What kind of API stability are we trying to guarantee with xcb? Can we just
> break the API in minor releases ("on purpose", in contrast to "accidentally")?
>
> I find it surprising that we agree on breaking the API so easily.

Of course we should avoid to break the API as much as possible
(especially in minor releases) but in this case it was done accidentally
so my point was only to move forward rather than breaking the API
later again...

>>>   - depend on the next proto release
>> 
>>> After the release:
>>> - xcb-proto master:
>>>   - Merge all the NEWS entries from the releases
>>>   - revert GE introduction (cherry-pick from release?)
>>> - libxcb master:
>>>   - Merge all the NEWS entries from the releases
>>>   - revert GE removal (cherry-pick from release?)
>>>   - bump XKB soname
>>>   - revert 9ae84ad187e2ba440c40f44b8eb21c82c2fdbf12 ("fix deadlock with
>>> xcb_take_socket/return_socket v3")
>> 
>> Considering this list of steps is fairly small and that we have
>> unfortunately already broken the ABI, I think it should be better to go
>> forward (especially considering that the patches breaking the ABI are
>> correct at the end) and bump sonames instead of reverting and breaking
>> the ABI again later on.
>> 
>> Moreover, master branch contains many XKB patches from Daniel and Ran
>> which would allow XKB to be enable by default (Cc'ing Ran and Daniel to
>> confirm that) but break the ABI too. Even if we don't necessarily have
>> to enable it for this release, I think it's better to do it now in order
>> to avoid breaking the ABI later. What do you think?
>
> Sure, fine with me, but I don't really know all the glory details about XKB.
> Didn't we also have some patches messing with XI?

Yes, after checking XI, some structure fields have been renamed so its
SONAME should be bumped as well (double-checked with abicc).

> My approach was "ABI was broken accidentally, fix this". I don't mind going with
> "ABI was broken accidentally, but we need this breakage anyway".
>
> Should we put a note into NEWS (where no one will read it) saying that
> libxcb-xkb.so and the headers from 1.9.2 and 1.9.3 should be avoided?

Well, it does not hurt to add it IMO.

>> libxcb-master:
>>>   - Merge all the NEWS entries from the releases
>>>   - bump XKB soname
>>>   - bump XCB soname
>
> What? Why? You mean the soname for libxcb.so, right? AFAIK there was no ABI
> breakage here (if you don't count "adding new symbols" as breaking ABI).

After checking again, I was wrong, sorry about that.

Cheers,
-- 
Arnaud Fontaine


More information about the Xcb mailing list