Wireshark-dev: Re: [Wireshark-dev] Future of Wireshark's shared library ABI stability

From: João Valverde <j@xxxxxx>
Date: Fri, 21 Jan 2022 11:15:57 +0000


On 21/01/22 10:46, Roland Knall wrote:
May I suggest that we focus on the discussion at hand here. The discussion about the package itself seems to be better suited for the issue list specific for that package, as is the purpose for that list.

This is about package code that lives in the Wireshark repository, that Wireshark devs have to work on, and relates directly to the issue at hand, so I beg to differ. I think it is very relevant and in the proper place.


The issue here is, that with change https://gitlab.com/wireshark/wireshark/-/merge_requests/5318 version changes where backported in 3.6, which are only meant to be in 3.7 and beyond (hence the reference in libwireshark0.symbols). Regardless of what some may think of the ensuing discussion, as a general rule we do not introduce library changes within release branches. For that reason alone (and only for that reason) I would say that the change needs to be reversed.

The symbols added are fine, nobody is contesting them, and they were necessary fix bugs in the 3.6 branch. The issue is a symbol that was replaced by a different one in the backport. That removal that is what constitutes an ABI incompatibility and it was already fixed by Gerald so the particular issue you are raising is pretty much closed, on the other hand.


Now for the validity of the overall change, I do think it is valid and makes absolute sense. I also think that external programs should not expect huge stability for our APIs as they may change anytime between major releases. If it is within our scope and reason to avoid such changes or dependencies we should try to do so. I also do think that ABI compatibility should not be set in stone.

kind regards
Roland

Am Fr., 21. Jan. 2022 um 11:17 Uhr schrieb João Valverde <j@xxxxxx>:


On 21/01/22 09:44, Bálint Réczey wrote:
> Hi João,
>
> João Valverde <j@xxxxxx> ezt írta (időpont: 2022. jan. 21., P, 1:14):
>>
>>
>> On 20/01/22 12:41, Bálint Réczey wrote:
>>> Hi All,
>>>
>>> João shared his opinion about the project's commitment to maintain
>>> stable shared library ABI within stable branches:
>>> https://gitlab.com/wireshark/wireshark/-/issues/17822
>>>
>>> I believe the current practice is reasonable and beneficial enough for
>>> many parties to warrant the work, but I could be wrong.
>>>
>> I agree the current practice is reasonable and beneficial, and it is
>> currently documented in README.Developer[1], chapter 7.3, to the best of
>> my understanding and ability.
> OK, great to hear that from you. I got the impression from the gitlab
> comments that you had a different view.
>
>> Do you have changes you'd like to propose? I'll gladly go over those.
> I'm happy with the the project's commitment to ABI stability and agree
> with Gerald's proposal of trying to revive the abi-complicance-checker
> test to help him in the final release checks. I may find time to
> restore the changes after this discussion is settled.
>
> Since you are asking, I'd very much welcome less hostility from your
> side than what I observed in [2] when I reported the ABI breakage.
>
> What triggered my email was that after I reported the ABI breakage you
> made in the stable branch you refused to own and fix it [3] and even
> after Gerald kindly stepped in with the fix [4] you kept arguing ([5]
> [6] ...) and this made me tired and wondering if you really represent
> the project's opinion as you seemed to believe.

I don't mind the email. We do disagree on many things and what I said on
the Gitlab issue is exactly what I meant. My lack of patience with you
is entirely justified.

>
>> What I won't do, however, is maintain your package for you.
> I maintain the package in Debian for the users and not particularly
> for myself since I'm not using Wireshark in my profession as I used to
> do.
> In general I'm happy to accept help, but I think I've never asked for
> your help specifically for that package and I note that I should not
> ask in  the future either.
>
> The Debian packaging in the upstream repository, i.e. [7] serves a
> different set of users, those who want to be closer to the latest
> development of Wireshark and the packaging scripts are kept a bit
> simpler. I intentionally don't make too many changes there to let the
> Wireshark project members set the direction and the changes there go
> through the regular local review process. I believe the packaging in
> itself is useful and the .symbols files help noticing ABI changes.
>

I strongly believe the upstream Debian package to be a detriment to the
project, and not in the interest of users either. I will share my
experience as a user. I  had to build the Wireshark Debian package to
fix something or other. I looked up online the incantation to use and it
seemed to work ok. After it was done building it spewed a bunch of files
all over my filesystem. Many different packages. I tried installing them
one by one and didn't succeed. I tried all at once and didn't succeed
either. I had to guess the order necessary to get it to install.
Afterward there was some apt conflict with the Wireshark package in the
official repos. I tried uninstalling the packages I had manually
installed and broke the package manager with some dependency issue.
After half an hour trying to fix it I gave up. The end.

There is no good reason for this package to exist upstream in its
current state, nor does Debian recommend that practice in general, AFAIK.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe