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

From: Bálint Réczey <balint@xxxxxxxxxxxxxxx>
Date: Fri, 21 Jan 2022 11:56:12 +0100
Hi Roland,

Roland Knall <rknall@xxxxxxxxx> ezt írta (időpont: 2022. jan. 21., P, 11:48):
>
> 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.
>
> 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.
>
> 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.

I fully agree with and support the current practice of allowing ABI
breakages between major releases and those are well handled by bumping
the major SO version. My bug report was about breaking the ABI between
3.6.0 and 3.6.1 and somehow this escalated.

Cheers,
Balint

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