Wireshark mailing list archives

Re: Future of Wireshark's shared library ABI stability


From: João Valverde <j () v6e pt>
Date: Fri, 21 Jan 2022 11:49:13 +0000



On 21/01/22 11:14, Bálint Réczey wrote:
João Valverde <j () v6e pt> ezt írta (időpont: 2022. jan. 21., P, 11:17):


On 21/01/22 09:44, Bálint Réczey wrote:
Hi João,

João Valverde <j () v6e pt> 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.
Before installing the upstream packages it is recommended to remove
all installed packages generated from Debian's official wireshark
source package because incompatibilities can't be prevented otherwise.
When testing new builds I do that and just install all built .deb-s.

I don't know who recommends that or where it is recommended. I would consider myself a Debian user with average knowledge. Makes me wonder why the Debian package system is so limited that it can't handle this simple use case without imposing hidden requirements on the user.

There is no good reason for this package to exist upstream in its
current state, nor does Debian recommend that practice in general, AFAIK.
Debian many years ago used to _not_ recommend upstreams to to keep
packaging scripts in their main repo because Debian's tools could not
clean up the debian/ dir automatically. Now this is solved in the
tools, thus upstreams are free to keep or not keep Debian packaging in
their source tree.

As I wrote earlier I believe the upstream debian/ dir helps in
monitoring ABI stability, but I don't insist keeping it if the project
decides to remove it.

Since this passed through the cracks, I don't think it does. It's just boring menial wasteful brainless work compiling lists of symbols for a freaking private shared library that devs are forced to do for your sake. IMO, of course.

Even if it did, it would still not be worth it for all the problems it has. It's annoying and extra time consuming to do any sort of serious work on the build. It also has to pass through the Debian arbitrer of all things good and holy. The structure that you decided to impose in your package is very rigid, for the benefit of nobody. I had to try to fix the header install rules so that it didn't keep breaking every time we needed to change something. Etc.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
            mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: